← 首页
00:00点开始
学情 用时 0′ 尝试 0 出错 0 归因 0
今日任务
自己写真 Python 代码,画一个正方形

前 8 课卡片背后一直印着 Python 语句——今天开始,卡片摘掉,你亲手写那串代码。 画出来的还是同一个正方形,但这次代码是你自己写的,跑在真 Python(Pyodide)上。

开场 8 分钟怎么花: 回顾前 8 课作品(2′)→ 今天写什么(3′)→ 发手帖(3′)。
开场只抛问题,不抛代码——让学生先说"正方形怎么写",说出来越多,第一步撞墙撞得越响。
老师说 一个正方形,你早就会画了。今天换个写法:不用卡片,用真 Python 写出来
第九种陷阱:之前画不出来是卡片摆错,现在画不出来是代码写错—— 学生第一次要读 Python 的报错。这正好是"报错博物馆"要练的。

这一步别急着给代码。先让学生相信"卡片能做的事,代码也能做", 再让他自己写——写错报错,才是这堂课的入口。

第一步 · 综合的陷阱 09′–23′ · 14 分钟 · 这次是「代码写错」

陷阱换了(第九种)
卡片没有摆错,是你写的代码 Python 不认
老师说 自己写一个正方形。四条边、四个直角。
别照卡片抄——先写,写错报错才算这步撞到墙

今天这堂课的陷阱类型(第九种):错误来自 Python 自己——你写的代码 Python 不认, 第一次要读 traceback。

老师纪律:学生运行时不许直接说答案。 报错第一句就写了错在哪:NameError / ModuleNotFoundError / AttributeError。先让他念出这三个词之一。

第二步 · 内存具象化 23′–37′ · 14 分钟 · 正确骨架长这样

老师说 正确骨架就三步:import turtle → t = turtle.Turtle() → t.forward / t.left
forward/left 你早会,新的是"自己把这串写出来"。
位置 · 横
0
位置 · 纵
0
朝向
落下
真 Python 画出来的正方形,和前 8 课卡片引擎画的是同一个——右边画布是卡片引擎画的对照。
这一步的关键动作: 别把"写代码"讲成新知识点。给学生看它背后就是 forward/left——顺序对了,图形就出来了。 这是前 8 课的总收口,也是真机真题的门槛。
37′–47′ · 10 分钟该休息啦
休息 1 · 必须离开座位站起来动一动

喝水 / 上厕所 / 不许看屏幕

这条要写进家长话术。 「每 35 分钟站起来 10 分钟」——这是 120 分钟课最有力的家长说服点。

第三步人脑电脑第一次要学生展开"正方形"背后的步数。休息必须给足。

第三步 · 人肉电脑 47′–65′ · 18 分钟 · 展开正方形背后的步数

老师说 不许按运行。
一段真 Python 正方形代码,背后是 import + 建实例 + 4 次 forward + 4 次 left
人脑编译时,你得能把它一步步展开——每步走多长、转向多少。
老师纪律:学生算错时不许直接说答案。 只许问三句话:①你猜的是哪一行?②你凭什么这么猜?③那怎么改?
本课核心错:学生把"正方形"当"四行代码"糊弄过去,不肯展开背后所有步。
先别看答案。让学生在纸上写出这个正方形总共几步: 尤其是每条边前进 100、每次左转 90°

第四步 · 脚手架编程 65′–85′ · 20 分钟 · 改一改正方形

老师说 把正方形改一改:换个边长、或者改成三角形(三边三角)。
改完运行,看画布。
任务要画出来的东西怎么写自检
A 换边长:把 100 改成别的数 改 forward 的数字
B 三角形:三边 + 三角 forward + left(120) 三遍
C 换个起点:先 goto 再画 t.goto(0,0) 之后画
任务 B 的落点(本课真正的收获): "三角形"不是新知识点,是正方形换个数字。 先人脑算 left 该转多少(360/3=120),再写——这正是人肉电脑那 18 分钟练的。
85′–91′ · 6 分钟该休息啦
休息 2 · 短,但必须伸个懒腰

站起来 6 分钟

第五步 · 组合破防 91′–105′ · 14 分钟 · 四种写错的代码

老师说 先画一个正方形出来,然后看四种"写错的代码"长什么样。
底下四个按钮各载入一种,先读报错,再改对
写错方式你会看到试过了
① 没建实例直接写 forward(100),Python 不认识 forward 是谁的
② 拼错模块名import turle,模块根本没装上
③ 拼错方法名t.forwad(100),turtle 里没有这个方法
④ 忘了 import没 import 就用 turtle,等于没买工具就开工
破防点:Python 的报错不是来找茬的,是来告诉你"哪行、什么错"的—— 读得懂报错,就赢了一半。四种写错的代码,每一种都对应一个具体的报错词。

第六步 · 数卡迁移 105′–120′ · 16 分钟 · 从卡片到真题

回到开头那个问题
怎么用真 Python 画一个正方形?
你用很多张卡摆,要很多张;用真 Python 写出来,只要 import + 建实例 + 四次 forward/left。
今天真正学会的不是正方形。
老师说 有一种能力,它不画图,它写代码
而且写之前你得知道画出来是什么——不能闭眼信它。

迁移 · 真题长什么样

GESP 一级的 turtle 真题,套路就一个:给你一段真 Python 代码,问你画出来是什么、转了多少度、总共几步。
你今天练的"手写代码 + 读 Python 报错",就是解这类题的通用基本功。
真题密度:turtle 一级 15.6,是一级所有考点里最高的。

下节课作品预告

课 10 起用循环写图形——把四遍 forward 压成 repeat。但今天的手写功底不能丢。
预告作品,不预告知识点。

本学期的作品锚

今天你第一次亲手写真正的 Python turtle 代码,画了一个正方形——和前 8 课画的同一个,只是这次代码是你写的。
今天你第一次读懂了 Python 的报错——这是信奥的真门槛。
本学期的作品锚:《我的第一张藏宝图》(那条线只是副产品,证据链才是差异)。

家长话术

今天不是"画了个正方形"。要说这三句:
场景照着说
家长问"今天学了啥" 「今天他第一次亲手写真正的 Python 代码画图形,还第一次读懂了 Python 的报错——这是信奥的真门槛。」
家长问"这考不考" 「写真 Python + 读报错,是 GESP 一级真题的通用基本功,turtle 又是一级最高频考点。」
家长嫌"就画个正方形" 「正方形是副产品。今天的真东西是:手写代码 + 读报错。这俩,培训班一笔带过,我们磨一整节课。」
⚠️ 不要说这三句: ①「今天学了写 turtle」 ②「今天学了读报错」 ③「正方形是信奥门槛」。
前两句说了就把课上成培训班;第三句把副产品当成正餐,第五步那 14 分钟就白费了

收尾(7′)

  • 填手帖:今天新认识(手写真 Python + 读报错),画在「我的卡组」那一栏
  • 家庭挑战:不用电脑,用嘴指挥爸妈画一个正方形(练"展开背后步骤")
  • 收卡片手帖(2–4′,别小看,这段时间最容易拖)

海龟的画布

(摆好卡片,按运行)

对应的 Python 代码 实时同步

本课硬事实 老师自查